閱讀提醒:本文會在官方高級賽車模板上實作檢查點。
Unreal Engine:5.03 高級賽車模板
OS:Windows10
今天來設置一個追蹤器,可以管理場上所有的檢查點,以及記錄圈數等等相關的數值。
首先建立一個名為 Tracker 的 Actor 藍圖。
在 Mesh
下方新增一個 Billboard
。
新增所需的變數
看到 Begin Play
事件,一樣先 Get Controller,然後呼叫 Apply Settings
、Start Sequence
,就是遊戲相關的初始設置。
在空白處右鍵選擇 Custom Event
,自定義事件,命名為 Apply Settings
,主要在遊戲開始時,將時間、圈數、控制器...等,做初始設定。
接下來是新增 Start Sequence
的自定義事件,Input 是 Checkpoints 的陣列,會依序去啟用 CheckPoint。
接著通過 For each Loop
,每通過一個 CheckPoint,就要清除掉。
最後自定義一個事件為 CheckPointCleared
,就是清除掉檢查點,也確認遊戲目前圈數以及是否結束。
接下來,我們來撰寫相關的 function。
首先是 UpdateTimes
,新增 UpdateTimes
function,設置所有相關的 Float 變數,包含 GoldTime
、SilverTime
... 等等。
再來是 ActivateCheckPoint
,啟用下一個會路過的 CheckPoint
。
RaceCompleteCheck
則是判斷遊戲是否結束,利用目前圈數是否大於等於最大圈數做為判定條件。在這個 function 內新增 Local Complete ,是 bool 的 local Variables
LapCheck
主要是判定圈數、更新圈數和設置啟用下一個 CheckPoint。
Viewport
,把 Tracker 藍圖拉到場景中。Detail
面板中設定預設的相關數值,上面建立的變數都需要給一個預設值。這邊就算是完成追蹤器啦~
小結:檢查點很多地方是照著 UE4 官方教學做的,其實有很多地方應該可以再優化一下,之後改完再上來更新。